home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmiSoft / Dev / Gui / Cit.lha / CIT / citra / CITGetScreenMode.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-02-13  |  5.8 KB  |  162 lines

  1. //
  2. //                    CITGetScreenMode include
  3. //
  4. //                          StormC
  5. //
  6. //                     version 2003.02.12
  7. //
  8.  
  9. #ifndef CITGETSCREENMODE_H
  10. #define CITGETSCREENMODE_H TRUE
  11.  
  12. #include "CITGadget.h"
  13.  
  14. #include <gadgets/getscreenmode.h>
  15.  
  16. //
  17. // This enum is for internal use only
  18. //
  19. enum
  20. {
  21.   CITGETSCREENMODE_TITLETEXT = 0,
  22.   CITGETSCREENMODE_HEIGHT,
  23.   CITGETSCREENMODE_WIDTH,
  24.   CITGETSCREENMODE_LEFTEDGE,
  25.   CITGETSCREENMODE_TOPEDGE,
  26.   CITGETSCREENMODE_DISPLAYID,
  27.   CITGETSCREENMODE_DISPLAYWIDTH,
  28.   CITGETSCREENMODE_DISPLAYHEIGHT,
  29.   CITGETSCREENMODE_DISPLAYDEPTH,
  30.   CITGETSCREENMODE_OVERSCANTYPE,
  31.   CITGETSCREENMODE_AUTOSCROLL,
  32.   CITGETSCREENMODE_INFOOPENED,
  33.   CITGETSCREENMODE_INFOLEFTEDGE,
  34.   CITGETSCREENMODE_INFOTOPEDGE,
  35.   CITGETSCREENMODE_DOWIDTH,
  36.   CITGETSCREENMODE_DOHEIGHT,
  37.   CITGETSCREENMODE_DODEPTH,
  38.   CITGETSCREENMODE_DOOVERSCANTYPE,
  39.   CITGETSCREENMODE_DOAUTOSCROLL,
  40.   CITGETSCREENMODE_PROPERTYFLAGS,
  41.   CITGETSCREENMODE_PROPERTYMASK,
  42.   CITGETSCREENMODE_MINWIDTH,
  43.   CITGETSCREENMODE_MAXWIDTH,
  44.   CITGETSCREENMODE_MINHEIGHT,
  45.   CITGETSCREENMODE_MAXHEIGHT,
  46.   CITGETSCREENMODE_MINDEPTH,
  47.   CITGETSCREENMODE_MAXDEPTH,
  48.   CITGETSCREENMODE_CUSTOMSMLIST,
  49.   CITGETSCREENMODE_FILTERFUNC,
  50.   CITGETSCREENMODE_LAST
  51. };
  52.  
  53. class CITGetScreenMode:public CITGadget
  54. {
  55.   public:
  56.     CITGetScreenMode();
  57.     ~CITGetScreenMode();
  58.  
  59.     void RequesterTitleText(char* text)
  60.            {setTag(CITGETSCREENMODE_TITLETEXT,GETSCREENMODE_TitleText,ULONG(text));}
  61.     void RequesterLeftEdge(WORD x)
  62.            {setTag(CITGETSCREENMODE_LEFTEDGE,GETSCREENMODE_LeftEdge,x);}
  63.     void RequesterTopEdge(WORD y)
  64.            {setTag(CITGETSCREENMODE_TOPEDGE,GETSCREENMODE_TopEdge,y);}
  65.     void RequesterWidth(WORD w)
  66.            {setTag(CITGETSCREENMODE_WIDTH,GETSCREENMODE_Width,w);}
  67.     void RequesterHeight(WORD h)
  68.            {setTag(CITGETSCREENMODE_HEIGHT,GETSCREENMODE_Height,h);}
  69.     void DisplayID(ULONG id)
  70.            {setTag(CITGETSCREENMODE_DISPLAYID,GETSCREENMODE_DisplayID,id);}
  71.     void DisplayWidth(ULONG w)
  72.            {setTag(CITGETSCREENMODE_DISPLAYWIDTH,GETSCREENMODE_DisplayWidth,w);}
  73.     void DisplayHeight(ULONG h)
  74.            {setTag(CITGETSCREENMODE_DISPLAYHEIGHT,GETSCREENMODE_DisplayHeight,h);}
  75.     void DisplayDepth(UWORD d)
  76.            {setTag(CITGETSCREENMODE_DISPLAYDEPTH,GETSCREENMODE_DisplayDepth,d);}
  77.     void OverscanType(UWORD type)
  78.            {setTag(CITGETSCREENMODE_OVERSCANTYPE,GETSCREENMODE_OverscanType,type);}
  79.     void AutoScroll(BOOL b = TRUE)
  80.            {setTag(CITGETSCREENMODE_AUTOSCROLL,GETSCREENMODE_AutoScroll,b);}
  81.     void InfoOpened(BOOL b = TRUE)
  82.            {setTag(CITGETSCREENMODE_INFOOPENED,GETSCREENMODE_InfoOpened,b);}
  83.     void InfoLeftEdge(WORD left)
  84.            {setTag(CITGETSCREENMODE_INFOLEFTEDGE,GETSCREENMODE_InfoLeftEdge,left);}
  85.     void InfoTopEdge(WORD top)
  86.            {setTag(CITGETSCREENMODE_INFOTOPEDGE,GETSCREENMODE_InfoTopEdge,top);}
  87.     void DoWidth(BOOL b = TRUE)
  88.            {setTag(CITGETSCREENMODE_DOWIDTH,GETSCREENMODE_DoWidth,b);}
  89.     void DoHeight(BOOL b = TRUE)
  90.            {setTag(CITGETSCREENMODE_DOHEIGHT,GETSCREENMODE_DoHeight,b);}
  91.     void DoDepth(BOOL b = TRUE)
  92.            {setTag(CITGETSCREENMODE_DODEPTH,GETSCREENMODE_DoDepth,b);}
  93.     void DoOverscanType(BOOL b = TRUE)
  94.            {setTag(CITGETSCREENMODE_DOOVERSCANTYPE,GETSCREENMODE_DoOverscanType,b);}
  95.     void DoAutoScroll(BOOL b = TRUE)
  96.            {setTag(CITGETSCREENMODE_DOAUTOSCROLL,GETSCREENMODE_DoAutoScroll,b);}
  97.     void PropertyFlags(ULONG flags)
  98.            {setTag(CITGETSCREENMODE_PROPERTYFLAGS,GETSCREENMODE_PropertyFlags,flags);}
  99.     void PropertyMask(ULONG mask)
  100.            {setTag(CITGETSCREENMODE_PROPERTYMASK,GETSCREENMODE_PropertyMask,mask);}
  101.     void DisplayMinWidth(ULONG min)
  102.            {setTag(CITGETSCREENMODE_MINWIDTH,GETSCREENMODE_MinWidth,min);}
  103.     void DisplayMaxWidth(ULONG max)
  104.            {setTag(CITGETSCREENMODE_MAXWIDTH,GETSCREENMODE_MaxWidth,max);}
  105.     void DisplayMinHeight(ULONG min)
  106.            {setTag(CITGETSCREENMODE_MINHEIGHT,GETSCREENMODE_MinHeight,min);}
  107.     void DisplayMaxHeight(ULONG max)
  108.            {setTag(CITGETSCREENMODE_MAXHEIGHT,GETSCREENMODE_MaxHeight,max);}
  109.     void DisplayMinDepth(ULONG min)
  110.            {setTag(CITGETSCREENMODE_MINDEPTH,GETSCREENMODE_MinDepth,min);}
  111.     void DisplayMaxDepth(ULONG max)
  112.            {setTag(CITGETSCREENMODE_MAXDEPTH,GETSCREENMODE_MaxDepth,max);}
  113.     void CustomSMList(struct List* list)
  114.            {setTag(CITGETSCREENMODE_CUSTOMSMLIST,GETSCREENMODE_CustomSMList,ULONG(list));}
  115.  
  116.     WORD  RequesterLeftEdge()
  117.            { return getTag(GETSCREENMODE_LeftEdge); }
  118.     WORD  RequesterTopEdge()
  119.            { return getTag(GETSCREENMODE_TopEdge); }
  120.     WORD  RequesterWidth()
  121.            { return getTag(GETSCREENMODE_Width); }
  122.     WORD  RequesterHeight()
  123.            { return getTag(GETSCREENMODE_Height); }
  124.     ULONG DisplayID()
  125.            { return getTag(GETSCREENMODE_DisplayID); }
  126.     ULONG DisplayWidth()
  127.            { return getTag(GETSCREENMODE_DisplayWidth); }
  128.     ULONG DisplayHeight()
  129.            { return getTag(GETSCREENMODE_DisplayHeight); }
  130.     ULONG DisplayDepth()
  131.            { return getTag(GETSCREENMODE_DisplayDepth); }
  132.     ULONG OverscanType()
  133.            { return getTag(GETSCREENMODE_OverscanType); }
  134.     WORD  InfoLeftEdge()
  135.            { return getTag(GETSCREENMODE_InfoLeftEdge); }
  136.     WORD  InfoTopEdge()
  137.            { return getTag(GETSCREENMODE_InfoTopEdge); }
  138.  
  139.     void ReqScreenMode();
  140.  
  141.     void FilterFunc(ULONG (*p)(struct ScreenModeRequester* smReq,ULONG modeID,ULONG myData),ULONG userData)
  142.             {CITGadget::CallbackHook(CALLBACKHOOK(p),userData);}
  143.  
  144.   protected:
  145.     virtual BOOL    Create(CITWindow* CITWd,CITContainer* parent);
  146.     virtual Object* NewObjectA(TagItem* tags);
  147.     virtual void    hookSetup(ULONG userData);
  148.  
  149.   private:
  150.     void  setTag(int index,ULONG attr,ULONG val);
  151.     ULONG getTag(ULONG attr);
  152.  
  153.     TagItem* getScreenModeTag;
  154. };
  155.  
  156. enum
  157. {
  158.   GETSCREENMODECLASS_FLAGBITUSED = GADGETCLASS_FLAGBITUSED
  159. };
  160.  
  161. #endif
  162.